САМОУЧИТЕЛЬ PHP 4

       

Сброс буфера вывода[E58]


void flush()

Эта функция имеет очень и очень отдаленное отношение к работе со строками, но она еще дальше отстоит от других функций. Именно поэтому я включил ее в данную главу. Начнем издалека: обычно при использовании echo

данные не прямо сразу отправляются клиенту, а накапливаются в специальном буфере, чтобы потом транспортироваться большой "пачкой". Так получается быстрее. Однако,

иногда бывает нужно досрочно отправить все данные из буфера пользователю, например, если вы что-то выводите в реальном времени (так зачастую работают чаты). Вот тут-то вам и поможет функция flush(), которая отправляет содержимое буфера echo

в браузер пользователя.

Не будет преувеличением сказать, что самой привлекательной чертой языка PHP является набор его стандартных, или встроенных, функций. Пожалуй, без них язык вообще представлял бы очень малую ценность. Главное, что этот набор постоянно пополняется с выходом новых версий языка: например, еще совсем недавно в PHP не было функций, поддерживающих концепцию сессии (то есть, устойчивого между запусками сценария окружения переменных, связанных по отдельности с каждым пользователем программы), функций для работы с изображениями и регулярными выражениями в формате PCRE (Perl-compatible regular expression — регулярные выражения языка Perl). Сейчас все это (и многое другое!) уже есть, и, конечно, грех не воспользоваться такими возможностями...

Мы уже ознакомились с некоторыми базовыми функциями, которые в силу их специализации можно было бы даже назвать операторами. Среди них — функция вывода echo, функции для работы с массивами и переменными

и т. д. В этой части книги мы займемся остальными встроенными в PHP процедурами, которые чаще всего требуются в Web-программировании. Конечно, объем книги не позволяет описать абсолютно все функции, да это и невозможно, потому что такое описание тут же устареет с выходом новой версии языка. Так что, как всегда, лучшим другом программиста (может быть, правильнее сказать подругой?) обязательно должна стать документация, поставляемая вместе с дистрибутивами PHP, или ее online-версия, расположенная по адресу http://www.php.net


или http://ru.php.net. Использование документации из Интернета привлекательно еще и потому, что она фактически представляет собой один большой форум, в котором приведены различные комментарии, оставленные энтузиастами. Вы тоже можете внести свою лепту в это общее дело.

Что же, разработчики PHP не боги, и иногда даже во встроенных функциях встречаются ошибки. Если вы наткнулись на одну из таких ошибок, радуйтесь: у вас есть возможность внести вклад в общемировое дело Web-программирования! Вначале постарайтесь локализовать ошибку — напишите небольшой (как можно меньше!) сценарий, который будет работать неправильно. Далее, если у вас есть исходные тексты PHP и вы в состоянии в них разобраться (а это несколько проще, чем кажется на первый взгляд), попытайтесь найти в них то место, где происходит недоразумение. Наконец, отправьте накопленный материал по электронной почте разработчикам PHP (адрес можно узнать на сайте http://www.php.net) и, скорее всего, в будущих версиях языка ошибки уже не будет. Однажды со мной случился такой случай, и я был приятно удивлен той скоростью, с которой мне пришел ответ от разработчиков (в течение одного дня). Причем ответ развернутый, а не простая отписка и, главное, в следующей версии PHP, действительно, найденной ошибки уже не оказалось.


Содержание раздела